The present invention relates to a technology that may be applied to a non-volatile storage device, for example, to a technology that may be applied to a non-volatile semiconductor memory such as a flash memory or a card storage device, such as a multimedia card or a smart media memory card, that contains such a non-volatile semiconductor memory.
Recently, a card storage device, called a memory card containing a non-volatile memory, such as a flash memory, that retains its storage data even after the power has been switched off, is widely used as a data storage medium for portable electronic apparatus such as a digital camera.
Unlike a volatile memory such as a RAM, a non-volatile memory requires a longer write time. To solve this problem, some memory cards that contain a non-volatile memory further contain a buffer memory including of a RAM with a memory amount smaller than that of the non-volatile memory. When storing data, write data transferred from an external host CPU is once transferred to this buffer memory and then sequentially transferred from this buffer memory to the non-volatile memory (for example, JP-A-2-62687 laid-open on Mar. 2, 1990).
However, a conventional memory card that contains a buffer memory transfers data as follows. That is, as shown in FIG. 10, a write command is sent during period T1 and a predetermined amount of write data is transferred from the host CPU to the buffer memory during period T2. Then, during period T3, one unit of data that is written at a time is transferred from the buffer memory to the non-volatile memory. On the other hand, after sending data DATA3, the host CPU stops data transfer to the buffer memory and waits until data is written in the non-volatile memory (period T4). Then, after confirming that data has been written on the memory card, the next write data is transferred from the host CPU to the buffer memory (period T5′).
The advantage of this method is that, even if the write operation fails for some reason, the write data need not be transferred again from the host CPU to the memory card because the write data is retained in the buffer memory for period T4 during which the write data is written into the non-volatile memory. However, the problem with this method is that the overhead is large and that total write time is long because, for period T4 during which data is written into the non-volatile memory, data transfer to the buffer memory is suspended and the host CPU is put in the wait state and because the write operation of the non-volatile memory is also put in the wait state for the period during which the next data is transferred from the host CPU to the buffer memory.